chrome.contextMenus.remove('example-context-menu', () => {
  // 删除成功后，重新创建新的菜单项
  chrome.contextMenus.create({
    id: 'example-context-menu',
    title: 'Example Action',
    contexts: ['page'],
  });
});

chrome.contextMenus.onClicked.addListener((info, tab) => {
  if (info.menuItemId === 'example-context-menu') {
    // 使用 Lodash 的 `debounce` 函数来防抖处理用户频繁点击
    const handleClick = _.debounce(async () => {
      const activeTabId = tab.id;
      // 获取当前标签页标题
      // const title = await chrome.tabs.executeScript(activeTabId, {
      //   code: 'document.title',
      // });
      // 向当前标签页发送消息
      chrome.tabs.sendMessage(activeTabId, {
        action: 'exampleAction',
        data: { title: tab.title },
      });
    }, 500);
    handleClick();
  }
});

// 监听来自内容脚本的消息
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.action === 'exampleRequest') {
    // 使用 Lodash 的 `get` 函数安全地从对象中提取属性
    const value = _.get(request.data, 'some.deep.property');
    // 做一些处理...
    const processedValue = value.toUpperCase();
    // 发送响应
    sendResponse({ processedValue });
  }
});
